home *** CD-ROM | disk | FTP | other *** search
- /* SetSpeed.c -- Modal dialog */
- /* Created 7/11/93 11:42 AM by AppMaker */
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "DialogAids.h"
- #include "WindowAids.h"
- #include "SetSpeed.h"
- #include "Globals.h"
-
- #define OKButton 1
- #define CancelButton 2
- #define Sprite1Label 3
- #define Sprite2Label 4
- #define Sprite3Label 5
- #define Sprite4Label 6
- #define Sprite5Label 7
- #define Sprite6Label 8
- #define Slider9 9
- #define Slider10 10
- #define Slider11 11
- #define Slider12 12
- #define Slider13 13
- #define SetAllSpeedsFromSprite1Radio 14
- #define SetSpeedsIndividuallyRadio 15
- #define Slider16 16
- #define Picture17 17
-
- static pascal void Slider9Action (short newValue,
- short oldValue);
- static pascal void Slider10Action (short newValue,
- short oldValue);
- static pascal void Slider11Action (short newValue,
- short oldValue);
- static pascal void Slider12Action (short newValue,
- short oldValue);
- static pascal void Slider13Action (short newValue,
- short oldValue);
- static pascal void Slider16Action (short newValue,
- short oldValue);
-
- /*----------*/
- static pascal void Slider9Action (short newValue,
- short oldValue)
- {
- } /*Slider9Action*/
-
- /*----------*/
- static pascal void Slider10Action (short newValue,
- short oldValue)
- {
- } /*Slider10Action*/
-
- /*----------*/
- static pascal void Slider11Action (short newValue,
- short oldValue)
- {
- } /*Slider11Action*/
-
- /*----------*/
- static pascal void Slider12Action (short newValue,
- short oldValue)
- {
- } /*Slider12Action*/
-
- /*----------*/
- static pascal void Slider13Action (short newValue,
- short oldValue)
- {
- } /*Slider13Action*/
-
- /*----------*/
- static pascal void Slider16Action (short newValue,
- short oldValue)
- {
- } /*Slider16Action*/
-
- /*----------*/
- static pascal Boolean FilterSetSpeed (DialogPtr whichDialog,
- EventRecord *event,
- short *itemHit)
- {
- Boolean filtered;
- SetSpeedRecPtr data;
-
-
- filtered = false;
- if (!filtered) {
- filtered = FilterScroll (event, Slider9,
- (ScrollProcPtr) &Slider9Action, itemHit);
- }
- if (!filtered) {
- filtered = FilterScroll (event, Slider10,
- (ScrollProcPtr) &Slider10Action, itemHit);
- }
- if (!filtered) {
- filtered = FilterScroll (event, Slider11,
- (ScrollProcPtr) &Slider11Action, itemHit);
- }
- if (!filtered) {
- filtered = FilterScroll (event, Slider12,
- (ScrollProcPtr) &Slider12Action, itemHit);
- }
- if (!filtered) {
- filtered = FilterScroll (event, Slider13,
- (ScrollProcPtr) &Slider13Action, itemHit);
- }
- if (!filtered) {
- filtered = FilterScroll (event, Slider16,
- (ScrollProcPtr) &Slider16Action, itemHit);
- }
-
- if (!filtered) {
- filtered = StandardFilter (whichDialog, event, itemHit);
- }
- return (filtered);
- } /*FilterSetSpeed*/
-
- /*----------*/
- Boolean GetSetSpeed (SetSpeedRec *SetSpeed)
- {
- DialogPtr theDialog;
- GrafPtr savePort;
- Boolean result;
- Boolean done;
- short itemNr;
- register SetSpeedRecPtr info;
-
- GetPort (&savePort);
- InitCursor ();
- theDialog = GetNewDialog (SetSpeedID, nil, (WindowPtr) -1L);
- SetPort (theDialog);
- info = SetSpeed;
-
- info->Slider9Value = kMaxSpriteTime - cur->moveSpeedArray[0];
- info->Slider10Value = kMaxSpriteTime - cur->moveSpeedArray[1];
- info->Slider11Value = kMaxSpriteTime - cur->moveSpeedArray[2];
- info->Slider12Value = kMaxSpriteTime - cur->moveSpeedArray[3];
- info->Slider13Value = kMaxSpriteTime - cur->moveSpeedArray[4];
- info->Slider16Value = kMaxSpriteTime - cur->moveSpeedArray[5];
-
- info->SetAllSpeedsFromSprite1Choice = cur->SetAllSpeeds;
-
- SetScrollItem (Slider9, info->Slider9Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider10, info->Slider10Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider11, info->Slider11Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider12, info->Slider12Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider13, info->Slider13Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider16, info->Slider16Value, 0, kMaxSpriteTime, 10);
-
- SetRadio (SetAllSpeedsFromSprite1Radio, info->SetAllSpeedsFromSprite1Choice);
-
- ShowWindow (theDialog);
- OutlineButton (1);
- done = false;
- while (!done) {
-
- ModalDialog (FilterSetSpeed, &itemNr);
- switch (itemNr) {
- case OKButton:
- result = true;
- done = true;
- if (info->SetAllSpeedsFromSprite1Choice == 1)
- {
- for (cur->spriteNum = 0; cur->spriteNum < kNumberOfSprites; cur->spriteNum++)
- {
- cur->moveSpeedArray[cur->spriteNum] = kMaxSpriteTime - info->Slider16Value;
- }
- }
- else
- {
- cur->moveSpeedArray[0] = kMaxSpriteTime - info->Slider9Value;
- cur->moveSpeedArray[1] = kMaxSpriteTime - info->Slider10Value;
- cur->moveSpeedArray[2] = kMaxSpriteTime - info->Slider11Value;
- cur->moveSpeedArray[3] = kMaxSpriteTime - info->Slider12Value;
- cur->moveSpeedArray[4] = kMaxSpriteTime - info->Slider13Value;
- cur->moveSpeedArray[5] = kMaxSpriteTime - info->Slider16Value;
- }
- cur->SetAllSpeeds = info->SetAllSpeedsFromSprite1Choice;
-
- break;
- case CancelButton:
- result = false;
- done = true;
- break;
- case Slider9:
- DoScrollItem (itemNr, &info->Slider9Value);
- break;
- case Slider10:
- DoScrollItem (itemNr, &info->Slider10Value);
- break;
- case Slider11:
- DoScrollItem (itemNr, &info->Slider11Value);
- break;
- case Slider12:
- DoScrollItem (itemNr, &info->Slider12Value);
- break;
- case Slider13:
- DoScrollItem (itemNr, &info->Slider13Value);
- break;
- case SetAllSpeedsFromSprite1Radio:
- case SetSpeedsIndividuallyRadio:
- DoRadio (SetAllSpeedsFromSprite1Radio, itemNr, &info->SetAllSpeedsFromSprite1Choice);
- break;
- case Slider16:
- DoScrollItem (itemNr, &info->Slider16Value);
- break;
-
- } /* switch */
-
- if (info->SetAllSpeedsFromSprite1Choice == 1)
- {
- SetScrollItem (Slider9, info->Slider16Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider10, info->Slider16Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider11, info->Slider16Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider12, info->Slider16Value, 0, kMaxSpriteTime, 10);
- SetScrollItem (Slider13, info->Slider16Value, 0, kMaxSpriteTime, 10);
- }
-
- } /* while */
-
- DisposDialog (theDialog);
- SetPort (savePort);
- return (result);
- } /*GetSetSpeed*/
-
- /* SetSpeed */
-